package com.kscrm.web.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 合作项目对象 project
 * 
 * @author Dhq
 * @date 2025-02-18
 */
@Data
@Accessors(chain = true)
public class Project
{

    /** ID */
    private Long id;

    /** 项目名称 */
    @NotBlank(message = "项目名称不能为空")
    private String name;

    /** 项目负责人 */
    @NotBlank(message = "项目负责人不能为空")
    private String mainUser;

    /** 联系方式 */
    @NotBlank(message = "联系方式不能为空")
    private String phone;

    /** 立项时间 */
    @NotNull(message = "立项时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startAt;

    /** 项目完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endAt;

    /** 项目进度（状态） */
    private Long status;

    /** 项目类型（1 咨询 2培训 3其他） */
    @NotBlank(message = "项目类型不能为空")
    private String type;

    /** 项目总金额 */
    @NotBlank(message = "项目总金额不能为空")
    private String money;

    /** 项目详情介绍 */
    private String detail;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date createAt;

    /** 备注 */
    private String remark;

    /** 已付金额 */
    private int paidMoney;

    /** 专家列表 */
    private List<Expert> expertList;
    /** 客户列表 */
    private List<Client> clientList;

    /** 项目渠道列表 */
    private List<Channel> channelList;

    /** 项目渠道ID 查询 */
    private Long channelId;

}
